def longest_common_prefix(strs: list[str]) -> str:
    strs = sorted(strs)
    str1 = strs[0]
    str2 = strs[-1]
    length = min(len(str1), len(str2))
    for i in range(length):
        if str1[i] != str2[i]:
            return str1[:i]
    return str1[:length]
